A real-time protocol (RTP) provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. An RTP stream includes RTP data packets, which includes encoded audio or video information, and a control protocol (RTCP control packets), which carry control information. The RTP stream does not address resource reservation and does not guarantee quality-of-service for real-time services. The data transport is augmented by the RTCP control packets to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality.
The RTP and RTCP data packets are designed to be independent of the underlying transport and network layers. However, the RTP stream itself does not provide any mechanism to ensure timely delivery or provide other quality-of-service guarantees, does not guarantee delivery or prevent out-of-order delivery, nor does the RTP stream assume that an underlying network is reliable and delivers packets in sequence. An increase in the amount of delay between the time when a message signal is sent out and when the message is transmitted back is objectionable as this delay creates, for instance, echo of the message.
A telephone base station provides communication services between telephone users, land or mobile telephones. A method that can be used to estimate a delay introduced by a network involves a use of time stamps in an Internet Control Message Protocol (ICMP). A message is time stamped with an “Originate Time stamp” and sent by a local user to a far-end user. The message, upon arrival at the far-end user, is time-stamped with a “Receive Time stamp” representing a time, with respect to a timing reference, that the message was received at the far-end user. A difference between the “Originate Time stamp” and the “Receive Time stamp” represents a network delay from the local user to the far-end user. The same message is then returned from the far-end user to the local user with a “Transmit Time stamp” indicating a time, with respect to a timing reference, that the message was transmitted from the far-end user. A difference between the time the message is received at the local user and the time indicated by the “Transmit Time stamp” represents a network delay from the far-end user to the local user.
Another method to determine the network delay uses a round trip delay (RTD), which uses a prescribed message transmitted from the local user to the phone and measures the time it takes to complete a round-trip for the prescribed message to return back to the local user. However, in this case, radio waves of the message are subjected to various microwave obstructions, such as buildings, thus the RTD inherently includes a delay resulting from reflection by such obstructions. This type of delay degrades the accuracy of locating an exact position of a mobile phone and degrades message transmission in real time. Furthermore, for the methods described above and for other existing methods to determine RTD, the determination of the RTD must be made at endpoints of the network where the local user and the far-end user are connected.